if (fit_data.len < size) {
throw ReaderException("record truncated: expecting " + std::to_string(size) + " bytes, but only got " + std::to_string(fit_data.len) + ".");
}
- QByteArray buf(size + 1, 0);
+ QByteArray buf(size + 1, 0); // almost certainly an extra byte, QByteArray should guarnatee a terminator.
gbsize_t count = gbfread(buf.data(), size, 1, fin);
if (count != 1) {
throw ReaderException("unexpected end of file with fit_data.len=" + std::to_string(fit_data.len) + ".");
}
fit_data.len -= size;
- return QString(buf);
+ return QString(buf.constData());
}
void
--- /dev/null
+No,Latitude,Longitude,Name,Altitude\r
+1,50.031985,14.310719,"X",\r
+2,50.101786,14.391518," > 1",235.4\r
+3,50.102963,14.391518,"2",235.4\r
+4,50.104888,14.391045,"3",235.4\r
+5,50.206686,14.260687,"12 SEP 19:07",226.6\r
+6,50.213687,14.307941,"15 SEP 18:47",287.8\r
+7,50.184026,14.367012,"3 OCT 15:42",197.8\r
+8,50.172190,14.239638,"3 OCT 17:33",261.8\r
gpsbabel -i garmin_fit,recoverymode -f ${REFERENCE}/track/lezyne_super_gps-garmin_fit-sample-bad-endian.fit -o gpx -F ${TMPDIR}/lezyne_super_gps-garmin_fit-sample-bad-endian.gpx 2>/dev/null
compare ${REFERENCE}/track/lezyne_super_gps-garmin_fit-sample-bad-endian.gpx ${TMPDIR}/lezyne_super_gps-garmin_fit-sample-bad-endian.gpx
+gpsbabel -i garmin_fit -f ${REFERENCE}/Lctns_Instinct.fit -o unicsv,utc=0 -F ${TMPDIR}/Lctns_Instinct.csv
+compare ${REFERENCE}/Lctns_Instinct.csv ${TMPDIR}/Lctns_Instinct.csv
+
#
# Basic FIT tests (write)
#